class CreateBusquedaOrdenSalidas < ActiveRecord::Migration
  def self.up
    sql="CREATE VIEW busqueda_orden_salidas AS SELECT centros.orden_salidas.id, centros.orden_salidas.centro_id, centros.centros.nombre_comercial, "+
      "centros.orden_salidas.tipo_referencia,centros.orden_salidas.referencia_id, centros.orden_salidas.ejecutivo_id, "+
      "centros.ejecutivos.nombre + ' ' + centros.ejecutivos.primer_apellido AS ejecutivo, "+
      "centros.orden_salidas.tipo_presupuesto_id, "+
      "'Bonificacion en Especie' AS nombre, centros.orden_salidas.status_id,centros.orden_salidas.created_at, "+
      "ISNULL(CONVERT(VARCHAR,centros.orden_salidas.[id]),'*')+'|'+ISNULL(centros.centros.nombre_comercial,'*')+'|' "+
      "+ISNULL(centros.ejecutivos.nombre,'*')+'|'+ISNULL(centros.ejecutivos.primer_apellido,'*')+'|' "+
      "+ISNULL(CONVERT(VARCHAR,centros.orden_salidas.created_at,112),'*')+'|' "+
      "+'Bonificacion en Especie' as concatenado "+
      "FROM centros.orden_salidas INNER JOIN "+
      "centros.ejecutivos ON centros.orden_salidas.ejecutivo_id = centros.ejecutivos.id INNER JOIN "+
      "centros.centros ON centros.orden_salidas.centro_id = centros.centros.id "+
      "WHERE (centros.orden_salidas.tipo_referencia = 1) "+
      "UNION "+
      "SELECT centros.orden_salidas.id, centros.orden_salidas.centro_id, centros.centros.nombre_comercial, centros.orden_salidas.tipo_referencia, "+
      "centros.orden_salidas.referencia_id, centros.orden_salidas.ejecutivo_id, "+
      "centros.ejecutivos.nombre + ' ' + centros.ejecutivos.primer_apellido AS ejecutivo, centros.orden_salidas.tipo_presupuesto_id, "+
      "centros.concursos.nombre, centros.orden_salidas.status_id,centros.orden_salidas.created_at, "+
      "ISNULL(CONVERT(VARCHAR,centros.orden_salidas.[id]),'*')+'|'+ISNULL(centros.centros.nombre_comercial,'*')+'|' "+
      "+ISNULL(centros.ejecutivos.nombre,'*')+'|'+ISNULL(centros.ejecutivos.primer_apellido,'*')+'|' "+
      "+ISNULL(CONVERT(VARCHAR,centros.orden_salidas.created_at,112),'*')+'|' "+
      "+ISNULL(centros.concursos.nombre,'*') as concatenado "+
      "FROM centros.orden_salidas INNER JOIN "+
      "centros.ejecutivos ON centros.orden_salidas.ejecutivo_id = centros.ejecutivos.id INNER JOIN "+
      "centros.centros ON centros.orden_salidas.centro_id = centros.centros.id INNER JOIN "+
      "centros.evaluaciones ON centros.orden_salidas.referencia_id = centros.evaluaciones.id INNER JOIN "+
      "centros.concursos ON centros.evaluaciones.concurso_id = centros.concursos.id "+
      "WHERE (centros.orden_salidas.tipo_referencia = 2) "+
      "UNION "+
      "SELECT centros.orden_salidas.id, centros.orden_salidas.centro_id, centros.centros.nombre_comercial, centros.orden_salidas.tipo_referencia, "+
      "centros.orden_salidas.referencia_id, centros.orden_salidas.ejecutivo_id, "+
      "centros.ejecutivos.nombre + ' ' + centros.ejecutivos.primer_apellido AS ejecutivo, centros.orden_salidas.tipo_presupuesto_id, "+
      "centros.presencias.nombre, centros.orden_salidas.status_id,centros.orden_salidas.created_at, "+
      "ISNULL(CONVERT(VARCHAR,centros.orden_salidas.[id]),'*')+'|'+ISNULL(centros.centros.nombre_comercial,'*')+'|' "+
      "+ISNULL(centros.ejecutivos.nombre,'*')+'|'+ISNULL(centros.ejecutivos.primer_apellido,'*')+'|' "+
      "+ISNULL(CONVERT(VARCHAR,centros.orden_salidas.created_at,112),'*')+'|' "+
      "+ISNULL(centros.presencias.nombre,'*') as concatenado "+
      "FROM centros.orden_salidas INNER JOIN "+
      "centros.ejecutivos ON centros.orden_salidas.ejecutivo_id = centros.ejecutivos.id INNER JOIN "+
      "centros.centros ON centros.orden_salidas.centro_id = centros.centros.id INNER JOIN "+
      "centros.presencias ON centros.orden_salidas.referencia_id = centros.presencias.id "+
      "WHERE (centros.orden_salidas.tipo_referencia = 3) "+
      "UNION "+
      "SELECT centros.orden_salidas.id, centros.orden_salidas.centro_id, centros.centros.nombre_comercial, centros.orden_salidas.tipo_referencia, "+
      "centros.orden_salidas.referencia_id, centros.orden_salidas.ejecutivo_id, "+
      "centros.ejecutivos.nombre + ' ' + centros.ejecutivos.primer_apellido AS ejecutivo, centros.orden_salidas.tipo_presupuesto_id, "+
      "centros.promociones.nombre, centros.orden_salidas.status_id,centros.orden_salidas.created_at, "+
      "ISNULL(CONVERT(VARCHAR,centros.orden_salidas.[id]),'*')+'|'+ISNULL(centros.centros.nombre_comercial,'*')+'|' "+
      "+ISNULL(centros.ejecutivos.nombre,'*')+'|'+ISNULL(centros.ejecutivos.primer_apellido,'*')+'|' "+
      "+ISNULL(CONVERT(VARCHAR,centros.orden_salidas.created_at,112),'*')+'|' "+
      "+ISNULL(centros.promociones.nombre,'*') as concatenado "+
      "FROM centros.orden_salidas INNER JOIN "+
      "centros.ejecutivos ON centros.orden_salidas.ejecutivo_id = centros.ejecutivos.id INNER JOIN "+
      "centros.centros ON centros.orden_salidas.centro_id = centros.centros.id INNER JOIN "+
      "centros.promociones ON centros.orden_salidas.referencia_id = centros.promociones.id "+
      "WHERE (centros.orden_salidas.tipo_referencia = 4)"

    execute sql
  end

  def self.down
    execute 'DROP VIEW busqueda_orden_salidas'
  end
end
